package com.scnb.Singleton;

/**
 * 饿汉式实现
 * Mgr01类加载到内存后，就实例化一个，JVM保证线程安全（只在第一次类被加载到内存时，初始化一次）
 * 简单使用，推荐这种写法
 * 唯一的缺点：不管用到与否，类装载时就得完成实例化
 * 有人提出了懒加载的写法：使用Class.forName("..")来只把类装载的内存中，而不实例化
 */
public class Mgr01 {
    private static final Mgr01 INSTANCE = new Mgr01();

    private Mgr01(){}

    public static Mgr01 getInstance() {return INSTANCE;}

    public void m() {System.out.println("m");}

    public static void main(String[] args){
        Mgr01 m1 = Mgr01.getInstance();
        Mgr01 m2 = Mgr01.getInstance();
        System.out.println(m1 == m2);
    }


}
